This disclosure relates generally to an image encoding system and method that provides increased precision, increased dynamic range, and a wider color gamut as compared to many existing image file formats. More particularly, this disclosure relates to an image encoding method that is backwards compatible with existing devices such that the increased precision, dynamic range, and color gamut data does not cause existing devices to fail.
As is known, digital images are expressed in terms of reference values that define the properties of the image. For example, properties for each pixel of a digital image may be specified by multiple reference values (e.g., R or red, G or green, and B or blue values). These reference values are defined in terms of a color model. A color model describes the way that colors can be represented using combinations of reference values. The set of colors that can be produced according to a particular color model is a color space. The most common color model for producing images on display devices such as television screens, computer monitors, tablets, etc. is the RGB color model. The RGB color model defines a set of colors that are produced from combinations of varying levels (i.e., varying reference values) of red, green, and blue primary colors.
The CIE 1931 color space chromaticity diagram is illustrated in FIG. 1. Outer curved boundary 105 represents the visible spectrum monochromatic colors with wavelengths indicated in nanometers. The colors along outer curved boundary 105 progress through a range of purple, blue, green, yellow, orange, and red with increasing wavelength. The chromaticities of the red, green, and blue color primaries for a particular RGB color space (i.e., the chromaticity where one color channel has a nonzero value and the other two channels have zero values) form the vertices of color triangle 115. The gamut of chromaticities that can be represented by the RGB color space are represented by the chromaticities that are within color triangle 115. Color triangle 115 corresponds to the sRGB color space, the most common of the RGB color spaces. Vertex 110A is the sRGB red primary, vertex 1108 is the sRGB green primary, and vertex 110C is the sRGB blue primary. The D65 white point, the point at which all of the color channels are equal to one, is illustrated at 120.
As indicated in FIG. 1, typical color spaces such as the sRGB color space encompass substantially less than the full range of chromaticities that are visible to humans. In addition, typical color spaces are capable of representing only a small portion of the brightness levels that can be perceived by humans. These color space limitations have been incorporated into commonly used color spaces by design based on the colors that display media are capable of producing. That is, color spaces need only encompass the colors that can be produced by existing display media such as television displays and computer monitors. In fact, the precision with which colors can be produced (for a given data size) is increased where the color space is limited to only those colors that can be produced. With the advent of new display technologies that are capable of producing a wider color gamut (i.e., a wider range of chromaticities) and increased dynamic range (i.e., a wider range of brightness levels), it will be necessary to define images in terms of color spaces that include a wider range of colors. However, during this transition, it will also be necessary that image files carrying the additional color information can also be read and rendered by existing devices. It would therefore be desirable to specify a method and system for encoding images that provides increased precision, increased dynamic range, and a wider color gamut as compared to existing image file formats and that is also compatible with existing display devices.